*, *:before, *:after {
    box-sizing: border-box;
}

*, *:focus, *:active, *:focus:active, *:before, *:before:focus, *:before:active, *:before:focus:active, *:after, *:after:focus, *:after:active, *:after:focus:active {
    outline: none;
}

body {
    min-height: 100vh;
    padding: 2rem;
}

ul {
    padding: 0;
}

li {
    list-style: none;
    padding: 0;
}

h2 {
    text-align: center;
}

h2:not(:first-child) {
    margin-top: 45px;
}

p {
    margin: 20px 0 10px;
}

p + p {
    margin-top: 0;
}

.container {
    margin: 0 auto;
    max-width: 600px;
}

.carousel {
    margin: 0 30px;
    width: calc(100% - ($button-spacing * 2));
}

.carousel[data-shift="1"] .carousel-inner > .item {
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.carousel .carousel-inner > .item.row {
    margin: 0;
}

.carousel .carousel-control {
    background: none;
    color: transparent;
    overflow: hidden;
    text-shadow: none;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    width: 30px;
}

.carousel .carousel-control:before {
    color: #444;
    font-family: 'Glyphicons Halflings';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30px;
}

.carousel .carousel-control:after {
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    content: '';
    height: 60%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    width: 100%;
}

.carousel .carousel-control:hover:after {
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.7);
}

.carousel .carousel-control.left {
    left: -30px;
}

.carousel .carousel-control.left:before {
    content: '\e079';
}

.carousel .carousel-control.left:after {
    right: -100%;
}

.carousel .carousel-control.right {
    right: -30px;
}

.carousel .carousel-control.right:before {
    content: '\e080';
}

.carousel .carousel-control.right:after {
    left: -100%;
}
